Information processing apparatus, information processing method, and computer program

ABSTRACT

An information processing apparatus that executes processing for creating an environmental map includes a camera that photographs an image, a self-position detecting unit that detects a position and a posture of the camera on the basis of the image, an image-recognition processing unit that detects an object from the image, a data constructing unit that is inputted with information concerning the position and the posture of the camera and information concerning the object and executes processing for creating or updating the environmental map, and a dictionary-data storing unit having stored therein dictionary data in which object information is registered. The image-recognition processing unit executes processing for detecting an object from the image acquired by the camera with reference to the dictionary data. The data constructing unit applies the three-dimensional shape data registered in the dictionary data to the environmental map and executes object arrangement on the environmental map.

CROSS-REFERENCES TO RELATED APPLICATIONS

This is a continuation of U.S. application Ser. No. 12/134,354, filedJun. 6, 2008 now U.S. Pat. No. 8,073,200, which is based upon and claimsthe benefit of priority under 35 U.S.C. §119 to Japanese PatentApplication JP 2007-150765 filed in the Japanese Patent Office on Jun.6, 2007, the entire contents of both of which are incorporated herein byreference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an information processing apparatus, aninformation processing method, and a computer program, and, moreparticularly to an information processing apparatus, an informationprocessing method, and a computer program for executing creation of amap (an environmental map) (mapping) around a camera, i.e.,environmental map creation processing on the basis of an imagephotographed by the camera.

The present invention relates to an information processing apparatus, aninformation processing method, and a computer program for observing amoving environment in an agent (a moving object) such as a robotincluding a camera, executing creation of a map (an environmental map)(mapping) around the agent, i.e., environmental map creation processingaccording to an observation state, and further executing estimation of aposition and a posture of the agent, i.e., identification processing(localization) for an own position or an own posture in conjunction withthe environmental map creation processing.

2. Description of the Related Art

Environmental map construction processing for observing a movingenvironment in an agent (a moving object) such as a robot including acamera and creating a map (an environment map) around the agentaccording to an observation state is often performed for route searchfor moving objects such as a car and a robot. JP-A-2003-269937 disclosesa technique for detecting planes from a distance image (a stereo image)created from images photographed by plural cameras, finding a floorsurface from the detected group of planes and positions and postures ofthe imaging devices, and finally recognizing an obstacle from the floorsurface. However, in an analysis of a peripheral environment executed bythe technique disclosed in JP-A-2003-269937, the environment can only bedistinguished as the “floor” and the “obstacle”.

In the method described above, it is necessary to generate a distanceimage using photographed images of the plural cameras. Techniques forcreating an environmental map on the basis of image analysis processingfor one camera-photographed image without creating such a distance imageare also being actively developed. Most of the techniques are systemsfor recognizing various kinds of information from only one imageacquired by a monocular camera. However, most of these kinds ofprocessing are adapted to calculate, for example, with a coordinatesystem having an origin in a position of a camera set as a worldcoordinate system, positions of objects around the world coordinatesystem. In other words, it is a main object of the processing to allow arobot including a camera to run without colliding with objects aroundthe robot. A detailed analysis for various recognition targets includedin an image photographed by a camera, for example, recognition resultobjects such as “wall”, “table”, and “sofa”, specifically, for example,an analysis of three-dimensional shapes of the respective recognitiontargets is not performed. Therefore, the techniques only create anenvironmental map for self-sustained traveling.

SUMMARY OF THE INVENTION

Therefore, it is desirable to provide an information processingapparatus, an information processing method, and a computer program forcreating an environmental map based on an image photographed by a cameraand executing an analysis of various objects included in thephotographed image to create an environmental map including moredetailed information.

According to an embodiment of the present invention, there is providedan information processing apparatus that executes processing forcreating an environmental map. The information processing apparatusincludes a camera that photographs an image, a self-position detectingunit that detects a position and a posture of the camera on the basis ofthe image acquired by the camera, an image-recognition processing unitthat detects an object from the image acquired by the camera, a dataconstructing unit that is inputted with information concerning theposition and the posture of the camera detected by the self-positiondetecting unit and information concerning the object detected by theimage-recognition processing unit and executes processing for creatingor updating the environmental map, and a dictionary-data storing unithaving stored therein dictionary data in which object informationincluding at least three-dimensional shape data corresponding to objectsis registered. The image-recognition processing unit executes processingfor detecting an object from the image acquired by the camera withreference to the dictionary data. The data constructing unit applies thethree-dimensional shape data registered in the dictionary data to theenvironmental map and executes object arrangement on the environmentalmap.

Preferably, the image-recognition processing unit identifies a positionof a feature point of the object included in the image acquired by thecamera and executes processing for outputting the position of thefeature point to the data constructing unit. The data constructing unitexecutes processing for calculating a position and a posture in a worldcoordinate system of the object on the basis of information concerningthe feature point inputted from the image-recognition processing unitand information concerning the position and the posture of the camerainputted from the self-position detecting unit and registering theposition and the posture in the world coordinate system of the object inthe environmental map.

Preferably, the self-position detecting unit executes processing forcalculating a camera position (Cw) and a camera rotation matrix (Rw) asestimated position and posture information of the camera, which arerepresented by a world coordinate system by using a feature point in theimage inputted from the camera, and outputting the camera position (Cw)and the camera rotation matrix (Rw) to the data constructing unit.

Preferably, the self-position detecting unit executes SLAM (simultaneouslocalization and mapping) for simultaneously detecting a position of afeature point in the image inputted from the camera and a position and aposture of the camera.

Preferably, the information processing apparatus further includes acoordinate converting unit that converts a position of a feature pointin an object in an image frame before an object detection target framein the image-recognition processing unit into a position on a coordinatecorresponding to an image of the object detection target frame in theimage-recognition processing unit. The image-recognition processing unitexecutes processing for outputting feature point information provided bythe coordinate converting unit to the data constructing unit.

Preferably, the information processing apparatus further includes afeature-point collating unit that records, when a feature point detectedby the image-recognition processing unit and a feature point detected bythe self-position detecting unit are at a distance within a thresholdset in advance, the feature points in a feature point database. Thecoordinate converting unit performs processing for converting positionsof the feature points recorded in the feature point database intopositions on the coordinate corresponding to the image of the objectdetection target frame in the image-recognition processing unit andmaking the positions of the feature points usable in theimage-recognition processing unit.

Preferably, the data constructing unit includes an environmental mapdatabase in which a generated environmental map is stored, anenvironmental-information acquiring unit that acquires the environmentalmap from the environmental map database, a recognition-result comparingunit that compares the environmental map acquired by theenvironmental-information acquiring unit and object detectioninformation inputted from the image-recognition processing unit andoutputs a result of the comparison to an environmental-map updatingunit, and the environmental-map updating unit that executes, on thebasis of the result of the comparison inputted from therecognition-result comparing unit, processing for updating theenvironmental map stored in the environmental map database.

Preferably, the environmental-information acquiring unit includes afeature-point-information generating unit that acquires theenvironmental map from the environmental map database and generatesfeature point information including a position of a feature pointincluded in the acquired environmental map. The recognition-resultcomparing unit includes a feature-point-information comparing unit thatcompares feature point information corresponding to an object inputtedfrom the image-recognition processing unit and the feature pointinformation generated by the feature-point-information generating unitand outputs comparison information to an intra-image-change-areaextracting unit in the environmental-map updating unit. Theenvironmental-map updating unit includes the intra-image-change-areaextracting unit that is inputted with the comparison information fromthe feature-point-information comparing unit and extracts, as an updatearea of the environmental map, an area other than an area where adistance between matched feature points is smaller than a threshold setin advance and an environmental-map updating unit that executes updateprocessing on the environmental map stored in the environmental mapdatabase using the feature point information inputted from theimage-recognition processing unit with only the update area extracted bythe intra-image-change-area extracting unit set as an update target.

Preferably, the environmental-information acquiring unit includes apresence-probability-distribution extracting unit that acquires theenvironmental map from the environmental map database and extracts apresence probability distribution of centers of gravity and postures ofobjects included in the acquired environmental map. Therecognition-result comparing unit includes apresence-probability-distribution generating unit that is inputted withan object recognition result from the image-recognition processing unitand generates a presence probability distribution of the recognizedobject and a probability-distribution comparing unit that compares apresence probability distribution of the recognized object generated bythe presence-probability-distribution generating unit on the basis ofthe environmental map and a presence probability distribution of theobject generated by the presence-probability-distribution generatingunit on the basis of the recognition result of the image-recognitionprocessing unit and outputs comparison information to theenvironmental-map updating unit. The environmental-map updating unitdetermines an update area of the environmental map on the basis of thecomparison information inputted from thepresence-probability-distribution comparing unit and executes updateprocessing on the environmental map stored in the environmental mapdatabase using feature point information inputted from theimage-recognition processing unit with only the update area set as anupdate target.

Preferably, the probability-distribution comparing unit calculates aMahalanobis distance “s” indicating a difference between the presenceprobability distribution of the recognized object generated by thepresence-probability-distribution extracting unit on the basis of theenvironmental map and the presence probability distribution of theobject generated by the presence-probability-distribution generatingunit on the basis of the recognition result of the image-recognitionprocessing unit and outputs the Mahalanobis distance “s” to theenvironmental-map updating unit. The environmental-map updating unitexecutes, when the Mahalanobis distance “s” is larger than a thresholdset in advance, processing for updating the environmental map registeredin the environmental map database.

According to another embodiment of the present invention, there isprovided an information processing apparatus that executes processingfor specifying an object search range on the basis of an environmentalmap. The information processing apparatus includes a storing unit havingstored therein ontology data (semantic information) indicatinglikelihood of presence of a specific object in an area adjacent to anobject and an image-recognition processing unit that determines a searcharea of the specific object on the basis of the ontology data (thesemantic information).

According to still another embodiment of the present invention, there isprovided an information processing method for executing processing forcreating an environmental map. The information processing methodincludes an image photographing step in which a camera photographs animage, a self-position detecting step in which a self-position detectingunit detects a position and a posture of the camera on the basis of theimage acquired by the camera, an image-recognition processing step inwhich an image-recognition processing unit detects an object from theimage acquired by the camera, and a data constructing step in which adata constructing unit is inputted with information concerning theposition and the posture of the camera detected by the self-positiondetecting unit and information concerning the object detected by theimage-recognition processing unit and executes processing for creatingor updating the environmental map. In the image-recognition processingstep, the image-recognition processing unit executes processing fordetecting an object from the image acquired by the camera with referenceto dictionary data in which object information including at leastthree-dimensional shape data corresponding to objects is registered. Inthe data constructing step, the data constructing unit applies thethree-dimensional shape data registered in the dictionary data to theenvironmental map and executes object arrangement on the environmentalmap.

Preferably, the image-recognition processing step is a step ofidentifying a position of a feature point of the object included in theimage acquired by the camera and executing processing for outputting theposition of the feature point to the data constructing unit. The dataconstructing step is a step of executing processing for calculating aposition and a posture in a world coordinate system of the object on thebasis of information concerning the feature point inputted from theimage-recognition processing unit and information concerning theposition and the posture of the camera inputted from the self-positiondetecting unit and registering the position and the posture in the worldcoordinate system of the object in the environmental map.

Preferably, the self-position detecting step is a step of executingprocessing for calculating a camera position (Cw) and a camera rotationmatrix (Rw) as estimated position and posture information of the camera,which are represented by a world coordinate system by using a featurepoint in the image inputted from the camera, and outputting the cameraposition (Cw) and the camera rotation matrix (Rw) to the dataconstructing unit.

Preferably, the self-position detecting step is a step of executing SLAM(simultaneous localization and mapping) for simultaneously detecting aposition of a feature point in the image inputted from the camera and aposition and a posture of the camera.

Preferably, the information processing method further includes acoordinate converting step in which a coordinate converting unitconverts a position of a feature point in an object in an image framebefore an object detection target frame in the image-recognitionprocessing unit into a position on a coordinate corresponding to animage of the object detection target frame in the image-recognitionprocessing unit. The image-recognition processing step is a step ofexecuting processing for outputting feature point information providedby the coordinate converting unit to the data constructing unit.

Preferably, the information processing method further includes afeature-point collating step in which a feature-point collating unitrecords, when a feature point detected by the image-recognitionprocessing unit and a feature point detected by the self-positiondetecting unit are at a distance within a threshold set in advance, thefeature points in a feature point database. The coordinate convertingstep is a step of performing processing for converting positions of thefeature points recorded in the feature point database into positions onthe coordinate corresponding to the image of the object detection targetframe in the image-recognition processing unit and making the positionsof the feature points usable in the image-recognition processing unit.

Preferably, the data constructing step includes anenvironmental-information acquiring step in which anenvironmental-information acquiring unit acquires the generatedenvironmental map from the environmental map database, arecognition-result comparing step in which recognition-result comparingunit compares the environmental map acquired from the environmental mapdatabase and object detection information inputted from theimage-recognition processing unit and outputs a result of the comparisonto an environmental-map updating unit, and an environmental-map updatingstep in which the environmental-map updating unit executes, on the basisof the result of the comparison inputted from the recognition-resultcomparing unit, processing for updating the environmental map stored inthe environmental map database.

Preferably, the environmental-information acquiring step includes afeature-point-information generating step in which afeature-point-information generating unit acquires the environmental mapfrom the environmental map database and generates feature pointinformation including a position of a feature point included in theacquired environmental map. The recognition-result comparing stepincludes a feature-point-information comparing step in which thefeature-point-information comparing unit compares feature pointinformation corresponding to an object inputted from theimage-recognition processing unit and the feature point informationgenerated by the feature-point-information generating unit and outputscomparison information to an intra-image-change-area extracting unit inthe environmental-map updating unit. The environmental-map updating stepincludes an intra-image change-area extracting step in which theintra-image-change-area extracting unit is inputted with the comparisoninformation from the feature-point-information comparing unit andextracts, as an update area of the environmental map, an area other thanan area where a distance between matched feature points is smaller thana threshold set in advance and an environmental-map updating step inwhich an environmental-map updating unit executes update processing onthe environmental map stored in the environmental map database using thefeature point information inputted from the image-recognition processingunit with only the update area extracted by the intra-image-change-areaextracting unit set as an update target.

Preferably, the environmental-information acquiring step includes apresence-probability-distribution extracting step in which apresence-probability-distribution extracting unit acquires theenvironmental map from the environmental map database and extracts apresence probability distribution of centers of gravity and postures ofobjects included in the acquired environmental map. Therecognition-result comparing step includes apresence-probability-distribution generating step in which apresence-probability-distribution generating unit is inputted with anobject recognition result from the image-recognition processing unit andgenerates a presence probability distribution of the recognized objectand a probability-distribution comparing step in which aprobability-distribution comparing unit that compares a presenceprobability distribution of the recognized object generated by thepresence-probability-distribution generating unit on the basis of theenvironmental map and a presence probability distribution of the objectgenerated by the presence-probability-distribution generating unit onthe basis of the recognition result of the image-recognition processingunit and outputs comparison information to the environmental-mapupdating unit. The environmental-map updating step is a step ofdetermining an update area of the environmental map on the basis of thecomparison information inputted from thepresence-probability-distribution comparing unit and executing updateprocessing on the environmental map stored in the environmental mapdatabase using feature point information inputted from theimage-recognition processing unit with only the update area set as anupdate target.

Preferably, the probability-distribution comparing step is a step ofcalculating a Mahalanobis distance “s” indicating a difference betweenthe presence probability distribution of the recognized object generatedby the presence-probability-distribution extracting unit on the basis ofthe environmental map and the presence probability distribution of theobject generated by the presence-probability-distribution generatingunit on the basis of the recognition result of the image-recognitionprocessing unit and outputting the Mahalanobis distance “s” to theenvironmental-map updating unit. The environmental-map updating step isa step of executing, when the Mahalanobis distance “s” is larger than athreshold set in advance, processing for updating the environmental mapregistered in the environmental map database.

According to still another embodiment of the present invention, there isprovided a computer program for causing an information processingapparatus to execute processing for creating an environmental map. Thecomputer program includes an image photographing step of causing acamera to photograph an image, a self-position detecting step of causinga self-position detecting unit to detect a position and a posture of thecamera on the basis of the image acquired by the camera, animage-recognition processing step of causing an image-recognitionprocessing unit to detect an object from the image acquired by thecamera, and a data constructing step of inputting information concerningthe position and the posture of the camera detected by the self-positiondetecting unit and information concerning the object detected by theimage-recognition processing unit to a data constructing unit andcausing the data constructing unit to execute processing for creating orupdating the environmental map. The image-recognition processing step isa step of detecting an object from the image acquired by the camera withreference to dictionary data in which object information including atleast three-dimensional shape data corresponding to objects isregistered. The data constructing step is a step of applying thethree-dimensional shape data registered in the dictionary data to theenvironmental map and executing object arrangement on the environmentalmap.

The computer program according to the embodiment of the presentinvention is, for example, a computer program that can be provided to ageneral-purpose computer system, which can execute various programcodes, by a storage medium and a communication medium provided in acomputer readable format. By providing the program in a computerreadable format, processing in accordance with the program is realizedon a computer system.

Other objects, characteristics, and advantages of the present inventionwill be made apparent by more detailed explanation based on embodimentsof the present invention described later and attached drawings. In thisspecification, a system is a logical set of plural apparatuses and isnot limited to a system in which apparatuses having different structuresare provided in an identical housing.

According to an embodiment of the present invention, the informationprocessing apparatus executes self-position detection processing fordetecting a position and a posture of a camera on the basis of an imageacquired by the camera, image recognition processing for detecting anobject from the image acquired by the camera, and processing forcreating or updating an environmental map by applying position andposture information of the camera, object information, and a dictionarydata in which object information including at least threethree-dimensional shape data corresponding to the object is registered.Therefore, it is possible to efficiently create an environmental map,which reflects three-dimensional data of various objects, on the basisof images acquired by one camera.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram for explaining the structure and processing of aninformation processing apparatus according to a first embodiment of thepresent invention;

FIG. 2 is a diagram for explaining dictionary data, which is data storedin a dictionary-data storing unit;

FIG. 3 is a diagram for explaining meaning of an equation indicating acorrespondence relation between a position represented by a pinholecamera model, i.e., a camera coordinate system and a three-dimensionalposition of an object in a world coordinate system;

FIG. 4 is a diagram for explaining the meaning of the equationindicating a correspondence relation between a position represented by apinhole camera model, i.e., a camera coordinate system and athree-dimensional position of an object in a world coordinate system;

FIG. 5 is a diagram for explaining processing for calculating distancesfrom a camera to feature points of an object;

FIG. 6 is a diagram for explaining mapping processing for an entireobject (recognition target) performed by using a camera position and thedictionary data when an object is partially imaged;

FIG. 7 is a diagram for explaining the structure and processing of aninformation processing apparatus according to a second embodiment of thepresent invention;

FIG. 8 is a diagram showing an example of use of feature pointinformation acquired from a frame in the past;

FIG. 9 is a diagram for explaining the structure and processing of aninformation processing apparatus according to a third embodiment of thepresent invention;

FIG. 10 is a diagram for explaining the structure and the processing ofthe information processing apparatus according to the embodiment;

FIG. 11 is a diagram for explaining the structure and the processing ofthe information processing apparatus according to the embodiment;

FIG. 12 is a diagram for explaining the structure and processing of aninformation processing apparatus according to a fourth embodiment of thepresent invention;

FIG. 13 is a diagram for explaining an example of image recognitionprocessing for detecting a position of a face; and

FIG. 14 is a diagram for explaining the example of the image recognitionprocessing for detecting a position of a face.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Embodiments of the present invention will be herein after explained withreference to the accompanying drawings.

First Embodiment

The structure of an information processing apparatus according to afirst embodiment of the present invention is explained with reference toFIG. 1. The information processing apparatus according to thisembodiment is an information processing apparatus that constructs anenvironmental map on the basis of image data photographed by a camera.As shown in FIG. 1, the information processing apparatus includes acamera 101 that photographs a peripheral environment, animage-recognition processing unit 102 that is inputted with aphotographed image of the camera 101 and performs image recognition, aself-position detecting unit 103 that is inputted with the photographedimage of the camera 101 and estimates a position and a posture of thecamera 101, a data constructing unit 110 that is inputted with imagerecognition result data generated by the image-recognition processingunit 102 and information concerning the posit ion and the posture of thecamera 101 detected by the self-position detecting unit 103 and executesprocessing for creating an environmental map represented by a certainworld coordinate system, and a dictionary-data storing unit 104 havingstored therein dictionary data used for image recognition processing inthe image-recognition processing unit 102 and environmental map creationprocessing in the data constructing unit 110.

A camera video is used as at least an input to the image-recognitionprocessing unit 102 and the self-position detecting unit 103. Theimage-recognition processing unit 102 outputs recognition resultincluding position and posture information in images of various objects(detection targets) photographed by the camera 101 to the dataconstructing unit 110. However, a recognition result is represented by acamera coordinate system. The self-position detecting unit 103 outputsthe position and posture information of the camera 101 to the dataconstructing unit 110. The data constructing unit 110 calculatespositions and postures of various objects in a world coordinate system(a coordinate system of the environmental map) on the basis of therecognition result inputted from the image-recognition processing unit102 and the camera position and posture information inputted from theself-position detecting unit 103, updates the environmental map, andoutputs a latest environmental map.

The data constructing unit 110 has an environmental map updating unit111 that is inputted with the recognition result from theimage-recognition processing unit 102 and the camera position andposture information from the self-position detecting unit 103,calculates positions and postures of various objects in the worldcoordinate system (the coordinate system of the environment map), andupdates the environmental map and an environmental map database 112 thatstores the updated environmental map. The environmental map created bythe data constructing unit 110 is data including detailed informationconcerning various objects included in an image photographed by thecamera 101, for example, various objects such as a “table” and a“chair”, specifically, detailed information such as a three-dimensionalshape and position and posture information.

The image-recognition processing unit 102 is inputted with aphotographed image of the camera 101, executes image recognition,creates a recognition result including position and posture informationin images of various objects (detection targets) photographed by thecamera 101, and outputs the recognition result to the data constructingunit 110. As image recognition processing executed by theimage-recognition processing unit 102, image recognition processingbased on image recognition processing disclosed in, for example,JP-A-2006-190191 and JP-A-2006-190192 is executed. A specific example ofthe processing is described later.

The self-position detecting unit 103 is developed on the basis of thetechnique described in the document “Andrew J. Davison, “Real-timesimultaneous localization and mapping with a single camera”, Proceedingsof the 9^(th) International Conference on Computer Vision, Ninth,(2003)”. The self-position detecting unit 103 performs processing forsimultaneously estimating positions of feature points in athree-dimensional space and a camera position frame by frame on thebasis of a change among frames of a position of local areas (hereinafterreferred to as feature points) in an image photographed by the camera101. Only a video of the camera 101 is set as an input to theself-position detecting unit 103 according to this embodiment. However,other sensors may be used to improve robustness of self-positionestimation.

Stored data of the dictionary-data storing unit 104 having dictionarydata stored therein used for the image recognition processing in theimage-recognition processing unit 102 and the environmental map creationprocessing in the data constructing unit 110 is explained with referenceto FIG. 2.

In the dictionary data, information concerning objects (recognitiontargets) predicted to be photographed by the camera 101 is collectivelystored for each of the objects. For one object (recognition target), thefollowing information is stored:

(1) object name;

(2) feature point information (two-dimensional information from a mainviewpoint. See FIG. 2 for details);

(3) physical shape information (including position information of afeature point); and

(4) ontology information (including information such as a category towhich the object belongs, an object that the object is highly likely tocome into contact with, and a moving object and a still object).

FIG. 2 shows an example of registered information of dictionary dataconcerning a cup.

The following information is recorded in the dictionary data:

(1) object name: “a mug with a rose pattern”;

(2) feature point information: feature point information of the objectobserved from viewpoints in six directions; up and down, front and rear,and left and right direction is recorded; feature point information maybe image information from the respective viewpoints;(3) physical shape information: three-dimensional shape information ofthe object is recorded; positions of the feature points are alsorecorded; and(4) ontology information;(4-1) attribute of the object: “tableware”;(4-2) information concerning an object highly likely to come intocontact with the object: “desk” “dish washer”; and(4-3) information concerning an object less likely to come into contactwith the object: “bookshelf”.

The information described above corresponding to various objects isrecorded in the dictionary-data storing unit 104.

A specific example of environmental map creation processing executed inthe information processing apparatus according to this embodimentexplained with reference to FIG. 1 is explained.

An example of processing for constructing an environmental map usingimages photographed by the camera 101 of the information processingapparatus shown in FIG. 1 is explained. As the camera 101, a cameramatching the pinhole camera model is used. The pinhole camera modelrepresents projection conversion for positions of points in thethree-dimensional space and pixel positions on a plane of a camera imageand is represented by the following equation:λ{tilde over (m)}=AR _(w)(M−C _(w))  (Equation 1)

Meaning of the equation is explained with reference to FIGS. 3 and 4.The equation is an equation indicating a correspondence relation betweena pixel position 212 on a plane of a camera image at a point (m) of anobject 211 included in a photographed image 210 of the camera 101, i.e.,a position represented by the camera coordinate system and athree-dimensional position (M) 201 of an object 200 in the worldcoordinate system.

The pixel position 212 on the plane of the camera image is representedby the camera coordinate system. The camera coordinate system is acoordinate system in which, with a focal point of the camera set as anorigin C, an image plane is a two-dimensional plane of Xc and Yc, anddepth is Zc. The origin C moves according to the movement of the camera101.

On the other hand, the three-dimensional position (M) 201 of the object200 is indicated by the world coordinate system having an origin 0 thatdoes not move according to the movement of the camera and includingthree axes X, Y, and Z. An equation indicating a correspondence relationamong positions of objects in these different coordinate systems isdefined as the pinhole camera model.

As shown in FIG. 4, elements included in the equation have meaning asdescribed below:

λ: normalization parameter;

A: intra-camera parameter;

Cw: camera position; and

Rw: camera rotation matrix.

The intra-camera parameter A includes the following values:

f: focal length;

θ: orthogonality of an image axis (an ideal value is 90°);

ku: scale of an ordinate (conversion from a scale of a three-dimensionalposition into a scale of a two-dimensional image);

kv: scale on an abscissa (conversion from a scale of three-dimensionalposition into a scale of a two-dimensional image); and

(u0, v0): image center position.

The data constructing unit 110 shown in FIG. 1 creates, using thepinhole camera model, i.e., the equation representing projectionconversion for positions of points in the three-dimensional space andpixel positions on a plane of a camera image, an environmental map inwhich information in the camera coordinate system obtained from aphotographed image of the camera 101 is converted into information inthe world coordinate system. For example, an example of processingperformed when a user (a physical agent) holds the camera 101, freelymoves the camera 101 to photograph a moving image, and inputs thephotographed image to the image-recognition processing unit 102 and theself-position detecting unit 103 is explained.

The self-position detecting unit 103 corrects, using feature points in avideo inputted from the camera 101, positions of the feature points anda camera position frame by frame and outputs a position (Cw) of thecamera 101 and a rotation matrix (Rw) of the camera 101 as estimatedposition and posture information of the camera 101 represented by theworld coordinate system determined by the self-position detecting unit103 to the data constructing unit 110. For this processing, it ispossible to use a method described in the thesis “Andrew J. Davison,“Real-time simultaneous localization and mapping with a single camera”,Proceedings of the 9^(th) International Conference on Computer Vision,Ninth, (2003)”.

The photographed image of the camera 101 is sent to theimage-recognition processing unit 102 as well. The image-recognitionprocessing unit 102 performs image recognition using parameters (featurevalues) that describe features of the feature points. A recognitionresult-obtained by the image-recognition processing unit 102 is anattribute (a cop A, a chair B, etc.) of an object and a position and aposture of a recognition target in an image. Since a result obtained bythe image recognition is not represented by the world coordinate system,it is difficult to directly combine the result with recognition resultsin the past.

Therefore, the data constructing unit 110 acquires, from thedictionary-data storing unit 104, the pinhole camera model, i.e., theequation representing projection conversion for positions of points inthe three-dimensional space and pixel positions on a plane of a cameraimage and the dictionary data including shape data of an object acquiredas prior information and projection-converts the equation and thedictionary data into the three-dimensional space.

From Equation 1 described above, the following Equation 2, i.e., anequation indicating a three-dimensional position (M) in the worldcoordinate system of a point where an object included in thephotographed image of the camera 101 is present, i.e., a feature point(m) is derived.

$\begin{matrix}{M = {{C_{w} + {{\lambda \cdot R_{w}^{T}}A^{- 1}\overset{\sim}{m}}} = {C_{w} + {{d \cdot R_{w}^{T}}\frac{A^{- 1}\overset{\sim}{m}}{{A^{- 1}\overset{\sim}{m}}}}}}} & \left( {{Equation}\mspace{14mu} 2} \right)\end{matrix}$

In the above equation, “d” represents a distance in a real world betweenthe camera 101 and the feature point of the object. When the distance(d) is calculated, it is possible to calculate a position of an objectin the camera coordinate system. As described above, λ of Equation 1 isthe normalization parameter. However, λ is a normalization variable notrelated to a distance (depth) between the camera 101 and the object andchanges according to input data regardless of a change in the distance(d).

Processing for calculating a distance from the camera 101 to the featurepoint of the object is explained with reference to FIG. 5. FIG. 5 showsan image 310 obtained by photographing an object 300 with the camera101. An object image 311, which is an image of the object 300, isincluded in the photographed image 310.

The image-recognition processing unit 102 obtains four feature points α,β, γ, and δ from the object image 311 in the photographed image 301 asshown in the figure. The image-recognition processing unit 102 extractsthe dictionary data from the dictionary-data storing unit 104, executescollation of the object image 311 and the dictionary data, specifies thephotographed object image 311, and determines feature point positions inthe object image 311 corresponding to feature point informationregistered as dictionary data in association with the specified object.As shown in the figure, the feature point positions are four vertexes α,β, γ, and δ of a rectangular parallelepiped.

The data constructing unit 110 acquires information concerning thefeature points α, β, γ, and δ from the image-recognition processing unit102, acquires the pinhole camera model, i.e., the equation representingprojection conversion for positions of points in the three-dimensionalspace and pixel positions on a plane of a camera image and thedictionary data including shape data of an object acquired as priorinformation, and projection-converts the equation and the dictionarydata into the three-dimensional space. Specifically, the dataconstructing unit 110 calculates distances (depths) from the camera 101to the respective feature points α, β, γ, and δ.

In the dictionary data, the three-dimensional shape information of therespective objects is registered as described before. Theimage-recognition processing unit 102 applies Equation 3 shown below onthe basis of the three-dimensional shape information and calculatesdistances (depths) from the camera 101 to the respective feature pointsα, β, γ, and δ.

$\begin{matrix}\left\{ \begin{matrix}{{{{d_{\alpha}X_{\alpha}} - {d_{\beta}X_{\beta}}}} = {d_{{obj}\; 1} + ɛ_{1}}} \\{{{{d_{\beta}X_{\beta}} - {d_{\gamma}X_{\gamma}}}} = {d_{{obj}\; 2} + ɛ_{2}}} \\{{{{d_{\gamma}X_{\gamma}} - {d_{\delta}X_{\delta}}}} = {d_{{obj}\; 3} + ɛ_{3}}} \\{{{{d_{\delta}X_{\delta}} - {d_{\alpha}X_{\alpha}}}} = {d_{{obj}\; 4} + ɛ_{4}}}\end{matrix} \right. & \left( {{Equation}\mspace{14mu} 3} \right)\end{matrix}$

In Equation 3, dα represents a distance from the camera 101 to thefeature point a of the object 300, dβ represents a distance from thecamera 101 to the feature point β of the object 300, dγ represents adistance from the camera 101 to the feature point γ of the object 300,dδ represents a distance from the camera 101 to the feature point δ ofthe object 300, dobj1 represents a distance between the feature points αand β of the object 300 (registered information of the dictionary data),dobj2 represents a distance between the feature points β and γ of theobject 300 (registered information of the dictionary data), and dobj3represents a distance between the feature points γ and δ of the object300 (registered information of the dictionary data).

xα represents a vector from the camera 101 to the feature point α and iscalculated by Equation 4 shown below.

$\begin{matrix}{X_{\alpha} = {R_{w}^{T}\frac{A^{- 1}{\overset{\sim}{m}}_{\alpha}}{{A^{- 1}{\overset{\sim}{m}}_{\alpha}}}}} & \left( {{Equation}\mspace{14mu} 4} \right)\end{matrix}$

Similarly, Xβ represents a vector from the camera 101 to the featurepoint β, Xγ represents a vector from the camera 101 to the feature pointγ, and Xδ represents a vector from the camera 101 to the feature pointδ. All of these vectors are values that can be calculated on the basisof pixel position information (m), camera parameters (A), and camerarotation matrixes (R) of the respective feature points in the image.

ε1 to ε4 included in Equation 3 represent measurement errors. Fourunknown numbers included in Equation 3, i.e., distances dα, dβ, dγ, anddδ from the camera 101 to the feature points of the object 300 arecalculated to minimize ε representing the measurement errors. Forexample, the distances dα, dβ, dγ, and dδ from the camera 101 to thefeature points of the object 300 are calculated to minimize themeasurement errors ε by using the least square method.

According to the processing, it is possible to calculate distances(depths) from the camera 101 to the respective feature points of theobject 300 and accurately map an object recognition result to the worldcoordinate system. However, in the method of calculating the distancesusing Equation 3, at least four points are necessary to perform mapping.If five or more feature points are obtained, equations are increased tocalculate distances to minimize a sum of errors ε.

In the method explained with reference to FIG. 5, the entire object 300is recorded in the photographed image 310. In other words, the objectimage 311 includes the entire object 300. When an object is not entirelyincluded in a photographed image and only a part thereof isphotographed, the information processing apparatus according to thisembodiment can map an entire recognition target using a camera positionand the dictionary data.

As shown in FIG. 6, even when the object 300 is not entirely included ina photographed image 321 and the object image 321 is imaged as a part ofthe object 300, the information processing apparatus according to thisembodiment can map the entire object (recognition target) using a cameraposition and the dictionary data. In an example shown in FIG. 6, afeature point (P) is not included in the object image 321 and onlyfeature points α, β, γ, and δ corresponding to four vertexes of an uppersurface of the object image 321 are included in the object image 321.

In this case, as explained with reference to FIG. 5, it is possible tocalculate respective distances dα, dβ, dγ, and dδ from the camera 101 tothe feature points of the object 300 from Equation 3. Further, it ispossible to calculate a distance from the camera to the feature point P,which is not photographed, on the basis of the three-dimensional shapedata of the object 300 in the dictionary data and perform mapping of theobject 300 in the world coordinate system.

The method described above is explained as the processing performed byusing only a camera-photographed image of one frame. However, processingto which plural frame images are applied may be adopted. This isprocessing for calculating distances from the camera 101 to featurepoints using feature points extracted in the past as well. However,since positions in the three-dimensional space of the feature points arenecessary, positions of feature points of the self-position detectingunit that uses the same feature points are used.

Second Embodiment

An information processing apparatus having an environmental map creationprocessing configuration to which plural frame images are applied isexplained with reference to FIG. 7. According to this embodiment, as inthe first embodiment, the information processing apparatus is aninformation processing apparatus that constructs an environmental map onthe basis of image data photographed by the camera 101. As shown in FIG.7, the information processing apparatus includes the camera 101 thatphotographs a peripheral environment, the image-recognition processingunit 102 that is inputted with a photographed image of the camera 101and performs image recognition, the self-position detecting unit 103that is inputted with the photographed image of the camera 101 andestimates a position and a posture of the camera 101, the dataconstructing unit 110 that is inputted with image recognition resultdata generated by the image-recognition processing unit 102 andinformation concerning the position and the posture of the camera 101detected by the self-position detecting unit 103 and executes processingfor creating an environmental map represented by a certain worldcoordinate system, and the dictionary-data storing unit 104 havingstored therein dictionary data used for image recognition processing inthe image-recognition processing unit 102 and environmental map creationprocessing in the data constructing unit 110. The data constructing unit110 includes the environmental-map updating unit 111 and theenvironmental-map database 112. These components are the same as thosein the first embodiment explained with reference to FIG. 1.

In the second embodiment, the information processing apparatus furtherincludes a feature-point collating unit 401, a feature-point database402, and a coordinate converting unit 403. The self-position detectingunit 103 performs processing for simultaneously calculatingthree-dimensional positions of feature points obtained from an imagephotographed by the camera 101 and a camera position.

Processing for performing creation (mapping) of a map around an agent(an environmental map) in conjunction with self-pose (position andposture) identification (localization) executed as confirmation of apose (a position and a posture) such as a position and a direction ofthe agent is called SLAM (simultaneous localization and mapping). Thesecond embodiment is based on this SLAM method.

The self-position detecting unit 103 calculates, for each of analysisframes, positions of feature points and a camera position using featurepoints in a video inputted from the camera 101 and outputs a cameraposition (Cw) and a camera rotation matrix (Rw) as estimated positionand posture information of the camera 101 represented by the worldcoordinate system determined by the self-position detecting unit 103 tothe data constructing unit 110. Further, the self-position detectingunit 103 outputs three-dimensional position information of featurepoints corresponding to analysis target frames to the feature-pointcollating unit 401. The analysis target frames may be all continuousframes of image frames photographed by the camera 101 or may be framesarranged at intervals set in advance.

The feature-point collating unit 401 compares feature points calculatedby the image-recognition processing unit 102 and feature points inputtedfrom the self-position detecting unit 103 in terms of a distance betweenphotographed image spaces, for example, the number of pixels. However,when the self-position detecting unit 103 is calculating feature pointposition information in the world coordinate system, a feature pointposition in an image is calculated by using Equation 1.

The feature-point collating unit 401 verifies whether a distance betweencertain one feature point position detected from a certain frame imageby the self-position detecting unit 103 and certain one feature pointposition detected from the same frame image by the image-recognitionprocessing unit 102 is equal to or smaller than a threshold set inadvance. When the distance is equal to or smaller than the threshold,the feature-point collating unit 401 considers that the feature pointsare identical and registers, in the feature point database 402, positioninformation and identifiers in the camera coordinate system of featurepoints, which correspond to feature values of the feature points,detected by the self-position detecting unit 103.

The coordinate converting unit 403 converts the position informationinto the present camera image coordinate system for each of the featurepoints registered in the feature point database 402 and outputs theposition information to the image-recognition processing unit 102. Forthe conversion processing for the position information, Equation 1 andthe camera position Cw and the camera rotation matrix (Rw) as theestimated position and posture information represented by the worldcoordinate system, which are inputted from the self-position detectingunit 103, are used.

The image-recognition processing unit 102 can add feature point positioninformation calculated from a preceding frame in the past, which isinputted from the coordinate converting unit 403, to feature pointposition information concerning a present frame set as a feature pointanalysis target and output the feature point position information to thedata constructing unit 110. In this way, the image-recognitionprocessing unit 102 can generate a recognition result including manykinds of feature point information extracted from plural frames andoutput the recognition result to the data constructing unit 110. Thedata constructing unit 110 can create an accurate environmental mapbased on the many kinds of feature point information.

FIG. 8 is a diagram showing an example of use of feature pointinformation acquired from a frame in the past. A photographed image 420indicates a photographed image that is a frame being analyzed in theimage-recognition processing unit 102. Only a part of an object 400 isrecorded in the photographed image 420. A feature point P is a featurepoint position detected in the frame in the past. The coordinateconverting unit 403 calculates a position of the photographed image 420,which is a present frame, to which a position of the feature point Pextracted from the frame in the past corresponds. The coordinateconverting unit 403 provides the image-recognition processing unit 102with the position. The image-recognition processing unit 102 can add thefeature point P extracted in the frame in the past to four featurepoints α, β, γ, and δ included in the photographed image 420 and outputinformation concerning these feature points to the data constructingunit 110. In this way, the image-recognition processing unit 102 cancreate a recognition result including information concerning a largernumber of feature points extracted from plural frames and output therecognition result to the data constructing unit 110. The dataconstructing unit 110 can create an accurate environmental map based onthe information concerning a larger number of feature points.

Third Embodiment

An example of processing for updating an environmental map using arecognition result of a camera position and a camera image is explainedas a third embodiment of the present invention. The data constructingunit 110 shown in FIG. 1 performs processing for acquiring, from thedictionary-data storing unit 104, feature point information inputtedfrom the image-recognition processing unit 102 and dictionary dataincluding shape data of objects acquired as prior information andarranging the respective objects on an environmental map represented bya world coordinate system and creates an environmental map.

It is assumed that, after the environmental map is created, a part ofthe environment is changed. When a part of the environment is changed,there is a method of discarding the environmental map created in thepast and creating a new environmental map on the basis of feature pointinformation inputted anew. However, processing in this method takes alot of time and labor. Therefore, in this embodiment, a changed portionis identified by using the environmental map created in the past and theidentified changed portion is updated to create a new environmental map.

The structure and processing of an information processing apparatusaccording to this embodiment is explained with reference to FIG. 9.According to this embodiment, as in the first embodiment, theinformation processing apparatus creates an environmental map on thebasis of image data photographed by a camera. As shown in FIG. 9, theinformation processing apparatus includes the camera 101 thatphotographs a peripheral environment, the image-recognition processingunit 102 that is inputted with a photographed image of the camera 101and performs image recognition, the self-position detecting unit 103that is inputted with the photographed image of the camera 101 andestimates a position and a posture of the camera 101, a dataconstructing unit 510 that is inputted with image recognition resultdata generated by the image-recognition processing unit 102 andinformation concerning the position and the posture of the camera 101detected by the self-position detecting unit 103 and executes processingfor creating an environmental map represented by a certain worldcoordinate system, and the dictionary-data storing unit 104 havingstored therein dictionary data used for image recognition processing inthe image-recognition processing unit 102 and environmental map creationprocessing in the data constructing unit 510. The data constructing unit510 includes an environmental-map updating unit 511 and an environmentalmap database 512. These components are the same as those in the firstembodiment explained with reference to FIG. 1.

The data constructing unit 510 further includes anenvironmental-information acquiring unit 513 and a recognition-resultcomparing unit 514. The environmental-information acquiring unit 513detects, using self-position information of the camera 101 obtained bythe self-position detecting unit 103, environmental informationincluding various objects estimated as being taken by the camera 101 byusing an environmental map (e.g., an environmental map created on thebasis of an image in the past) stored in the environmental map database512.

The recognition-result comparing unit 514 compares environmentalinformation (feature point information, etc.) judged by theenvironmental-information acquiring unit 513 as being acquired from aphotographed image corresponding to a present camera position estimatedon the basis of a created environmental map and a recognition result(feature point information) obtained from an actual photographed imageby the image-recognition processing unit 102.

The environmental-map updating unit 511 is inputted with comparisoninformation of the recognition-result comparing unit 514, corrects theenvironmental map created in the past and stored in the environmentalmap database 512 using the comparison information, and executes mapupdate processing.

Respective modules used in this embodiment are explained in detail.

The environmental-information acquiring unit 513 is inputted with cameraposition and posture information acquired by the self-position detectingunit 103, judges which part of the environmental map stored in theenvironmental map database 512 is acquired as a photographed image, andjudges positions of feature points and the like included in theestimated photographed image.

In the environmental map stored in the environmental map database 512,the respective objects are registered by the world coordinate system.Therefore, the environmental-information acquiring unit 513 convertsrespective feature point positions into a camera coordinate system usingEquation 1 and determines in which positions of the photographed imagefeature points appear. In Equation 1, input information from theself-position detecting unit 103 is applied as the camera position (Cw)and the camera rotation matrix (Rw) that are estimated position andposture information of the camera 101. The environmental-informationacquiring unit 513 judges whether “m” in the left side of Equation 1 iswithin an image photographed anew and set as an analysis target in theimage-recognition processing unit 102.

The recognition-result comparing unit 514 compares environmentalinformation (feature point information, etc.) judged by theenvironmental-information acquiring unit 513 as being acquired from aphotographed image corresponding to a present camera position estimatedon the basis of a created environmental map and a recognition result(feature point information) obtained from an actual photographed imageby the image-recognition processing unit 102. As comparison information,there are various parameters. However, in this embodiment, the followingtwo comparison examples are explained:

(1) comparison of feature points; and

(2) comparison of centers of gravity and postures of recognition targetsrepresented by a certain probability distribution model.

(1) Comparison of Feature Points

First, an example of feature point comparison in the recognition-resultcomparing unit 514 is explained with reference to FIG. 10. In thisembodiment, as shown in FIG. 10, a feature-point-information generatingunit 521 is set in the environmental-information acquiring unit 513. Afeature-point-information comparing unit 522 is provided in therecognition-result comparing unit 514. An intra-image change-areaextracting unit 523 and an environmental-map updating unit 524 areprovided in the environmental-map updating unit 511.

The feature-point-information generating unit 521 of theenvironmental-information acquiring unit 513 is inputted with cameraposition and posture information acquired by the self-position detectingunit 103, judges which part of the environmental map stored in theenvironmental map database 512 is acquired as a photographed image, andacquires feature point information of positions of feature points andthe like included in the estimated photographed image. The feature pointinformation indicates information including positions and feature valuesof feature points. The feature-point-information generating unit 521generates feature information of all feature pints estimated as beingtaken by the camera 101 on the basis of the environmental map, thecamera position and posture, and the dictionary data.

The feature-point comparing unit 522 of the recognition-result comparingunit 514 is inputted with feature point information obtained fromenvironmental maps accumulated in the past by thefeature-point-information generating unit 521 and is further inputtedwith a recognition result (feature point information) obtained from anactual photographed image by the image-recognition processing unit 102and compares the feature point information and the recognition result.The feature point-comparing unit 522 calculates positions of matchedfeature points and a distance between the feature points. Informationconcerning the positions and the distance is outputted to theintra-image change-area extracting unit 523 of the environmental-mapupdating unit 511.

The intra-image change-area extracting unit 523 extracts, as an updatearea of the environmental map, an area other than an area where thedistance between the matched feature points is smaller than a thresholdset in advance. Information concerning the extracted area is outputtedto the environmental-map updating unit 524.

The environmental-map updating unit 524 acquires the environmental mapsaccumulated in the past, executes map update for only the extracted areaselected as the update area by the intra-image change-area extractingunit 523 using the feature point information inputted from theimage-recognition processing unit 102 anew, and does not change theinformation of the created environmental map and uses the informationfor the other area. According to this processing, it is possible toperform efficient environmental map update.

(2) Comparison of Centers of Gravity and Postures of Recognition TargetsRepresented by a Certain Probability Distribution Model

An example of comparison of centers of gravity and postures ofrecognition targets represented by a certain probability distributionmodel in the recognition-result comparing unit 514 is explained withreference to FIG. 11. In this embodiment, as shown in FIG. 11, apresence-probability-distribution extracting unit 541 is set in theenvironmental-information acquiring unit 513 and apresence-probability-distribution generating unit 542 and aprobability-distribution comparing unit 543 are provided in therecognition-result comparing unit 514.

The presence-probability-distribution generating unit 542 of therecognition-result comparing unit 514 is inputted with an imagerecognition result from the image-recognition processing unit 102 andgenerates a presence probability distribution of a recognized object inthe image recognition result. It is assumed that the presenceprobability distribution complies with a multi-dimensional regulardistribution represented by an average (three-dimensional position andquarternion) covariance matrix. In image recognition, since a presenceprobability distribution is not calculated, a user gives the presenceprobability distribution as a constant.

The presence-probability-distribution extracting unit 541 of theenvironmental-information acquiring unit 513 extracts a presenceprobability distribution of a gravity and a posture of the recognizedobject included in an image photographed by the camera 101 (an averagecovariance matrix) using the environmental map acquired from theenvironmental map database 512.

The presence-probability-distribution comparing unit 543 of therecognition-result comparing unit 514 uses, for example, the followingequation (Equation 5) for comparison of the presence probabilitydistribution of the recognized object generated by thepresence-probability-distribution extracting unit 541 of theenvironmental-information acquiring unit 513 on the basis of theenvironmental map and the presence probability distribution of theobject generated by the presence-probability-distribution generatingunit 542 of the recognition-result comparing unit 514 on the basis ofthe recognition result from the image-recognition processing unit 102:s=(z−{circumflex over(z)})(Σ_(z)+Σ_({circumflex over (z)}))⁻¹(z−{circumflex over(z)})  (Equation 5)

In Equation 5, “s” represents a Mahalanobis distance and is a valuecorresponding to a difference between the presence probabilitydistribution of the recognized object generated on the basis of theenvironmental map and the presence probability distribution of theobject generated on the basis of the recognition result from theimage-recognition processing unit 102. Thepresence-probability-distribution comparing unit 543 of therecognition-result comparing unit 514 outputs a value of “s” of Equation5 to the environmental-map updating unit 511.

When the value of “s” of Equation 5 inputted from thepresence-probability-distribution comparing unit 543 of therecognition-result comparing unit 514 is smaller than a threshold set inadvance, the environmental-map updating unit 511 judges that the objectrecorded in the environmental map database 112 and the recognized objectobtained as the image recognition result based on the new photographedimage are identical and does not perform correction of the environmentalmap database. However, when “s” is larger than the threshold, theenvironmental-map updating unit 511 judges that a different objectappears and updates the environmental map registered in theenvironmental map database 512.

Fourth Embodiment

In the embodiments described above, the processing is performed oncondition that the respective objects registered in the environmentalmap are stationary objects that do not move. When moving objects areincluded in a photographed image and these moving objects are registeredin the environmental map, processing for distinguishing the movingobjects (moving bodies) and the stationary objects (stationary objects)is necessary. The fourth embodiment is an example of processing forexecuting creation and update of the environmental map by performing theprocessing for distinguishing the moving objects and the stationaryobjects.

This embodiment is explained with reference to FIG. 12. An example shownin FIG. 12 is based on the information processing apparatus thatperforms the comparison of centers of gravity and postures ofrecognition targets represented by a certain probability distributionmodel explained with reference to FIG. 11. A moving-object judging unit561 is added to the information processing apparatus.

The information processing apparatus according to this embodiment isdifferent from the information processing apparatus explained withreference to FIG. 10 in that the moving-object judging unit 561 isinputted with a recognition result from the image-recognition processingunit 102 and judges whether an object as a result of image recognitionis a moving object. The moving-object judging unit 561 judges, on thebasis of stored data in the dictionary-data storing unit 104, whether anobject as a result of image recognition is a moving object or astationary object. In this processing example, it is assumed that, indictionary data as stored data in the dictionary-data storing unit 104,object attribute data indicating whether respective objects are movingobjects or stationary objects is registered.

When an object recognized as a moving object is included in objectsincluded in a recognition result from the image-recognition processingunit 102, information concerning this object is directly outputted tothe environmental-map updating unit 511. The environmental-map updatingunit 511 registers the moving object on the environmental map on thebasis of the object information.

When an object recognized as a stationary object is included in theobjects included in the recognition result from the image-recognitionprocessing unit 102, information concerning this object is outputted tothe recognition-result comparing unit 514. Thereafter, processing sameas the processing explained with reference to FIG. 11 is executed. Theenvironmental-map updating unit 511 automatically deletes theinformation concerning the moving object frame by frame.

Fifth Embodiment

An example of an information processing apparatus that limitsrecognition targets and a search range of the objects in animage-recognition processing unit using an environmental map isexplained as a fifth embodiment of the present invention.

The environmental map can be created and updated by, for example, theprocessing according to any one of the first to fourth embodimentsdescribed above. The information processing apparatus according to thefifth embodiment can limit types and a search range of objectsrecognized by the image-recognition processing unit using theenvironmental map created in this way.

An ontology map created by collecting ontology data (semanticinformation) among objects is prepared in advance and stored in astoring unit. The ontology data (the semantic information)systematically classifies objects present in an environment anddescribes a relation among the objects.

For example, information such as “a chair and a table are highly likelyto be in contact the floor”, “a face is highly likely to be present infront of a monitor of a television turned on”, and “it is less likelythat a television is present in a bath room” is ontology data. Anontology map is formed by collecting the ontology data for each ofobjects.

In the fifth embodiment, the information processing apparatus limitstypes and a search range of objects recognized by the image-recognitionprocessing unit using the ontology map. The information processingapparatus according to the fifth embodiment is an information processingapparatus that executes processing for specifying an object search rangeon the basis of the environmental map. The information processingapparatus includes the storing unit having stored therein ontology data(semantic information) indicating the likelihood of presence of aspecific object in an area adjacent to an object and theimage-recognition processing unit that determines a search range of thespecific object on the basis of the ontology data (the semanticinformation).

For example, a position of a face is detected in an environment shown inFIG. 13. It is assumed that the environmental map is already created.First, a floor surface is detected and a ceiling direction is estimated.As objects that are extremely highly likely to be in contact with theground (a vending machine, a table, a car, etc.), in FIG. 13, there area table and a sofa.

Since positions and postures of the table and the sofa are known fromthe environmental map, a plane equation of the floor is calculated fromthe positions and the postures. Consequently, the floor surface and theceiling direction are identified.

Places where a position of a face is likely to be present are searchedon the basis of the ontology map. In the environment shown in FIG. 13,it is possible to divide the places as follows: “places where the faceis extremely highly likely to be present”: on the sofa and in front ofthe television; and “places where the face is less likely to bepresent”: right above the television, in the bookshelf, and the wallbehind the calendar.

This division is associated with the three-dimensional space todesignate a range. The range is reflected on an image by usingEquation 1. For example, division information 711 and 712 shown in FIG.14 can be set. This result of the reflection is passed to an imagerecognition module. According to this processing, it is possible toimprove an image recognition rate and realize an increase in speed ofimage recognition.

The present invention has been described in detail with reference to thespecific embodiments. However, it is evident that those skilled in theart can perform correction and substitution of the embodiments withoutdeparting from the spirit of the present invention. In other words, thepresent invention has been disclosed in a form of illustration andshould not be limitedly interpreted. To judge the gist of the presentinvention, the claims should be taken into account.

The series of processing explained in the specification can be executedby hardware, software, or a combination of the hardware and thesoftware. When the processing by the software is executed, it ispossible to install a program having a processing sequence recordedtherein in a memory in a computer built in dedicated hardware and causethe computer to execute the program or install the program in ageneral-purpose computer capable of executing various kinds ofprocessing and cause the computer to execute the program. For example,the program can be recorded in a recording medium in advance. Besidesinstalling the program from the recording medium to the computer, it ispossible to receive the program through a network such as a LAN (LocalArea Network) or the Internet and install the program in a recordingmedium such as a hard disk built in the computer.

The various kinds of processing described in this specification are notonly executed in time series according to the description. Theprocessing may be executed in parallel or individually according to aprocessing ability of an apparatus that executes the processing oraccording to necessity. The system in this specification is a logicalset of plural apparatuses and is not limited to a system in whichapparatuses having respective structures are provided in an identicalhousing.

As explained above, according to an embodiment of the present invention,an information processing apparatus executes self-position detectionprocessing for detecting a position and a posture of a camera on thebasis of an image acquired by the camera, image recognition processingfor detecting an object from the image acquired by the camera, andprocessing for creating or updating an environmental map by applyingposition and posture information of the camera, object information, anda dictionary data in which object information including at least threethree-dimensional shape data corresponding to the object is registered.Therefore, it is possible to efficiently create an environmental map,which reflects three-dimensional data of various objects, on the basisof images acquired by one camera.

It should be understood by those skilled in the art that variousmodifications, combinations, sub-combinations, and alterations may occurdepending on design requirements and other factors insofar as they arewithin the scope of the appended claims or the equivalents thereof.

1. An information processing apparatus that executes processing forcreating an environmental map, the information processing apparatuscomprising: a dictionary-data acquiring unit that acquires dictionarydata in which object information including at least three-dimensionalshape data corresponding to objects is registered; an image-recognitionprocessing unit that detects an object from an image acquired by acamera with reference to the dictionary data; and a data constructingunit that receives information concerning a position and a posture ofthe camera and information concerning the object; executes processingfor creating or updating the environmental map; applies thethree-dimensional shape data registered in the dictionary data to theenvironmental map; and executes object arrangement on the environmentalmap.
 2. The information processing apparatus of claim 1, furthercomprising an image acquiring unit that acquires the image which isgenerated through a photographing of the camera.
 3. The informationprocessing apparatus of claim 1, further comprising a camera-positiondetecting unit that detects the position and the posture of the cameraand generates the information concerning the position and the posture ofthe camera.
 4. The information processing apparatus of claim 3, whereinthe image-recognition processing unit identifies a position of a featurepoint of the object included in the image and outputs the position ofthe feature point to the data constructing unit, and the dataconstructing unit calculates a position and a posture of the object in aworld coordinate system based on information concerning the featurepoint inputted from the image-recognition processing unit andinformation concerning the position and the posture of the camerainputted from the camera-position detecting unit and registers theposition and the posture of the object in the world coordinate system inthe environmental map.
 5. The information processing apparatus of claim3, wherein the camera-position detecting unit executes processing forcalculating a camera position (Cw) and a camera rotation matrix (Rw) asestimated position and posture information of the camera, which arerepresented by a world coordinate system by using a feature point in theimage, and outputting the camera position (Cw) and the camera rotationmatrix (Rw) to the data constructing unit.
 6. The information processingapparatus of claim 3, wherein the camera-position detecting unitexecutes SLAM (simultaneous localization and mapping) for simultaneouslydetecting a position of a feature point in the image and a position anda posture of the camera.
 7. The information processing apparatus ofclaim 1, further comprising: a coordinate converting unit that convertsa position of a feature point in an object in an image frame before anobject detection target frame in the image-recognition processing unitinto a position on a coordinate corresponding to an image of the objectdetection target frame in the image-recognition processing unit, whereinthe image-recognition processing unit executes processing for outputtingfeature point information provided by the coordinate converting unit tothe data constructing unit.
 8. The information processing apparatus ofclaim 7, further comprising: a feature-point collating unit thatrecords, when a feature point detected by the image-recognitionprocessing unit and a feature point detected by the camera-positiondetecting unit are at a distance within a predetermined threshold, thefeature points in a feature point database, wherein the coordinateconverting unit performs processing for converting positions of thefeature points recorded in the feature point database into positions onthe coordinate corresponding to the image of the object detection targetframe in the image-recognition processing unit and making the positionsof the feature points usable in the image-recognition processing unit.9. The information processing apparatus of claim 1, wherein the dataconstructing unit comprises: an environmental map database that stores agenerated environmental map; an environmental-information acquiring unitthat acquires the environmental map from the environmental map database;a recognition-result comparing unit that compares the environmental mapacquired by the environmental-information acquiring unit and objectdetection information inputted from the image-recognition processingunit and outputs a result of the comparison to an environmental-mapupdating unit; and the environmental-map updating unit that executes, onthe basis of the result of the comparison inputted from therecognition-result comparing unit, processing for updating theenvironmental map stored in the environmental map database.
 10. Theinformation processing apparatus of claim 9, wherein theenvironmental-information acquiring unit includes afeature-point-information generating unit that acquires theenvironmental map from the environmental map database and generatesfeature point information including a position of a feature pointincluded in the acquired environmental map, the recognition-resultcomparing unit includes a feature-point-information comparing unit thatcompares feature point information corresponding to an object inputtedfrom the image-recognition processing unit and the feature pointinformation generated by the feature-point-information generating unitand outputs comparison information to an intra-image-change-areaextracting unit in the environmental-map updating unit, and theenvironmental-map updating unit includes: the intra-image-change-areaextracting unit that is inputted with the comparison information fromthe feature-point-information comparing unit and extracts, as an updatearea of the environmental map, an area other than an area where adistance between matched feature points is smaller than a threshold setin advance; and an environmental-map updating unit that executes updateprocessing on the environmental map stored in the environmental mapdatabase using the feature point information inputted from theimage-recognition processing unit with only the update area extracted bythe intra-image-change-area extracting unit set as an update target. 11.The information processing apparatus of claim 9, wherein theenvironmental-information acquiring unit includes apresence-probability-distribution extracting unit that acquires theenvironmental map from the environmental map database and extracts apresence probability distribution of centers of gravity and postures ofobjects included in the acquired environmental map, therecognition-result comparing unit includes: apresence-probability-distribution generating unit that is inputted withan object recognition result from the image-recognition processing unitand generates a presence probability distribution of the recognizedobject; and a probability-distribution comparing unit that compares apresence probability distribution of the recognized object generated bythe presence-probability-distribution generating unit on the basis ofthe environmental map and a presence probability distribution of theobject generated by the presence-probability-distribution generatingunit on the basis of the recognition result of the image-recognitionprocessing unit and outputs comparison information to theenvironmental-map updating unit, and the environmental-map updating unitdetermines an update area of the environmental map on the basis of thecomparison information inputted from thepresence-probability-distribution comparing unit and executes updateprocessing on the environmental map stored in the environmental mapdatabase using feature point information inputted from theimage-recognition processing unit with only the update area set as anupdate target.
 12. The information processing apparatus of claim 11,wherein the probability-distribution comparing unit calculates aMahalanobis distance “s” indicating a difference between the presenceprobability distribution of the recognized object generated by thepresence-probability-distribution extracting unit on the basis of theenvironmental map and the presence probability distribution of theobject generated by the presence-probability-distribution generatingunit on the basis of the recognition result of the image-recognitionprocessing unit and outputs the Mahalanobis distance “s” to theenvironmental-map updating unit, and the environmental-map updating unitexecutes, when the Mahalanobis distance “s” is larger than a thresholdset in advance, processing for updating the environmental map registeredin the environmental map database.
 13. The information processingapparatus of claim 1, further comprising a moving-object judging unitthat receives a recognition result from the image-recognition processingunit; determines whether an object indicated in the recognition resultis a moving object based on the dictionary data.
 14. An informationprocessing method for executing processing for creating an environmentalmap, the information processing method comprising: an image-recognitionprocessing step in which an image-recognition processing unit detects anobject from an image acquired by a camera with reference to dictionarydata in which object information including at least three-dimensionalshape data corresponding to objects is registered; and a dataconstructing step in which a data constructing unit receives informationconcerning a position and a posture of the camera and informationconcerning the object detected by the image-recognition processing unit;executes processing for creating or updating the environmental map;applies the three-dimensional shape data registered in the dictionarydata to the environmental map; and executes object arrangement on theenvironmental map.
 15. The information processing method of claim 14,further comprising an image acquiring step in which the image of theobject is acquired by the camera.
 16. The information processing methodof claim 14, further comprising a self-position detecting step in whicha self-position detecting unit detects a position and a posture of thecamera on the basis of the image acquired by the camera.
 17. Theinformation processing method of claim 16, wherein the image-recognitionprocessing step further comprises identifying a position of a featurepoint of the object included in the image acquired by the camera andexecuting processing for outputting the position of the feature point tothe data constructing unit, and the data constructing step furthercomprises executing processing for calculating a position and a posturein a world coordinate system of the object on the basis of informationconcerning the feature point inputted from the image-recognitionprocessing unit and information concerning the position and the postureof the camera inputted from the self-position detecting unit andregistering the position and the posture in the world coordinate systemof the object in the environmental map.
 18. The information processingmethod of claim 16, wherein the self-position detecting step furthercomprises executing processing for calculating a camera position (Cw)and a camera rotation matrix (Rw) as estimated position and postureinformation of the camera, which are represented by a world coordinatesystem by using a feature point in the image inputted from the camera,and outputting the camera position (Cw) and the camera rotation matrix(Rw) to the data constructing unit.
 19. The information processingmethod of claim 18, further comprising: a feature-point collating stepin which a feature-point collating unit records, when a feature pointdetected by the image-recognition processing unit and a feature pointdetected by the self-position detecting unit are at a distance within athreshold set in advance, the feature points in a feature pointdatabase, wherein the coordinate converting step further comprisesperforming processing for converting positions of the feature pointsrecorded in the feature point database into positions on the coordinatecorresponding to the image of the object detection target frame in theimage-recognition processing unit and making the positions of thefeature points usable in the image-recognition processing unit.
 20. Theinformation processing method of claim 16, wherein the self-positiondetecting step further comprises executing SLAM (simultaneouslocalization and mapping) for simultaneously detecting a position of afeature point in the image inputted from the camera and a position and aposture of the camera.
 21. The information processing method of claim14, further comprising: a coordinate converting step in which acoordinate converting unit converts a position of a feature point in anobject in an image frame before an object detection target frame in theimage-recognition processing unit into a position on a coordinatecorresponding to an image of the object detection target frame in theimage-recognition processing unit, wherein the image-recognitionprocessing step further comprises executing processing for outputtingfeature point information provided by the coordinate converting unit tothe data constructing unit.
 22. The information processing method ofclaim 14, wherein the data constructing step comprises: anenvironmental-information acquiring step in which anenvironmental-information acquiring unit acquires the generatedenvironmental map from an environmental map database; arecognition-result comparing step in which a recognition-resultcomparing unit compares the environmental map acquired from theenvironmental map database and object detection information inputtedfrom the image-recognition processing unit and outputs a result of thecomparison to an environmental-map updating unit; and anenvironmental-map updating step in which the environmental-map updatingunit executes, on the basis of the result of the comparison inputtedfrom the recognition-result comparing unit, processing for updating theenvironmental map stored in the environmental map database.
 23. Theinformation processing method of claim 22, wherein theenvironmental-information acquiring step includes afeature-point-information generating step in which afeature-point-information generating unit acquires the environmental mapfrom the environmental map database and generates feature pointinformation including a position of a feature point included in theacquired environmental map, and the recognition-result comparing stepincludes a feature-point-information comparing step in which thefeature-point-information comparing unit compares feature pointinformation corresponding to an object inputted from theimage-recognition processing unit and the feature point informationgenerated by the feature-point-information generating unit and outputscomparison information to an intra-image-change-area extracting unit inthe environmental-map updating unit, the environmental-map updating stepincludes: an intra-image change-area extracting step in which theintra-image-change-area extracting unit is inputted with the comparisoninformation from the feature-point-information comparing unit andextracts, as an update area of the environmental map, an area other thanan area where a distance between matched feature points is smaller thana threshold set in advance; and an environmental-map updating step inwhich an environmental-map updating unit executes update processing onthe environmental map stored in the environmental map database using thefeature point information inputted from the image-recognition processingunit with only the update area extracted by the intra-image-change-areaextracting unit set as an update target.
 24. The information processingmethod of claim 23, wherein the probability-distribution comparing stepis a step of calculating a Mahalanobis distance “s” indicating adifference between the presence probability distribution of therecognized object generated by the presence-probability-distributionextracting unit on the basis of the environmental map and the presenceprobability distribution of the object generated by thepresence-probability-distribution generating unit on the basis of therecognition result of the image-recognition processing unit andoutputting the Mahalanobis distance “s” to the environmental-mapupdating unit, and the environmental-map updating step is a step ofexecuting, when the Mahalanobis distance “s” is larger than a thresholdset in advance, processing for updating the environmental map registeredin the environmental map database.
 25. A nontransitory computer-readablestorage medium encoded with a computer program, which when executed byan information processing apparatus, caused the information processingapparatus to perform processing for creating an environmental map, theprocessing comprising: an image-recognition processing step of causingan image-recognition processing unit to detect an object from an imageacquired by a camera; and a data constructing step of inputtinginformation concerning the position and the posture of the cameradetected by the self-position detecting unit and information concerningthe object detected by the image-recognition processing unit to a dataconstructing unit and causing the data constructing unit to executeprocessing for creating or updating the environmental map, wherein theimage-recognition processing step is a step of detecting an object fromthe image acquired by the camera with reference to dictionary data inwhich object information including at least three-dimensional shape datacorresponding to objects is registered, and the data constructing stepis a step of applying the three-dimensional shape data registered in thedictionary data to the environmental map and executing objectarrangement on the environmental map.
 26. The nontransitorycomputer-readable storage medium of claim 25, wherein the processingfurther comprises an image photographing step of causing the camera tophotograph the image.
 27. The nontransitory computer-readable storagemedium of claim 25, wherein the processing further comprises aself-position detecting step of causing a self-position detecting unitto detect a position and a posture of the camera on the basis of theimage acquired by the camera.